import {NgModule, ErrorHandler} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {IonicApp, IonicModule, IonicErrorHandler} from 'ionic-angular';


import {ApplyListAPage} from '../pages/apply/applyList';
import {HomePage} from '../pages/home/home';
import {TabsPage} from '../pages/tabs/tabs';

import {StatusBar} from '@ionic-native/status-bar';
import {SplashScreen} from '@ionic-native/splash-screen';
import {MyPage} from '../pages/my/my';
import {MyApp} from "./app.component";
import {ResetPasswordPage} from "../pages/my/reset-password/reset-password";
import {SingleList} from "../common/SingleList/singleList";

import {HttpClient, HttpHeaders} from "@angular/common/http";
import {BudgetUnitPage} from "../pages/my/budget-unit/budget-unit";
import {AboutUsPage} from "../pages/my/about-us/about-us";
//import {ExamineApprovePage} from "../pages/examineApprove/examineApprove";
import {ApprovePage} from "../pages/examine/approve/approve";
import {FlowPage} from "../pages/examine/flow/flow";
import {ApplyTabPage} from "../pages/apply/apply-tab/apply-tab";
import {BudgetYearPage} from "../pages/my/yearBudget/budget-year";
import {ApplyInfoTabPage} from "../pages/apply/apply-info-tab/apply-info-tab";
import {AssistTabPage} from "../pages/apply/assist-tab/assist-tab";
import {CloseAccountTabPage} from "../pages/apply/close-account-tab/close-account-tab";
import {AddCountWayPage} from "../pages/apply/add-count-way/add-count-way";
import {WaitApprovePage} from "../pages/home/wait-approve/wait-approve";
import {NotifyPage} from "../pages/home/notify/notify";
import {PlanPage} from "../pages/apply/plan/plan";
import {ExpendPage} from "../pages/apply/expend/expend";
import {SystemService} from "../pages/service/SystemService";
import {HttpClientModule} from '@angular/common/http';
import {NotifyItemPage} from "../pages/home/notify-item/notify-item";
import {WaitCheckPage} from "../pages/home/wait-check/wait-check";
import {FeeDetailPage} from "../pages/apply/apply-info-tab/fee-detail/fee-detail";
import {LoginPage} from "../pages/login/login";
import {LoginSettingPage} from "../pages/login/login-setting/login-setting";
import {AppVersion} from "@ionic-native/app-version";
import {GuidePageModule} from "../pages/guide/guide.module";
import {GuideItemPageModule} from "../pages/guide/guide-item/guide-item.module";
import {Device} from '@ionic-native/Device'
//import {IonicStorageModule} from "@ionic/storage";
import { FileOpener } from '@ionic-native/file-opener';
import {File} from "@ionic-native/file"

import {FileTransferObject,FileTransfer} from "@ionic-native/file-transfer"
import {IndexQueryPageModule} from "../pages/index-query/index-query.module";
import { Camera } from '@ionic-native/camera';
import { ImagePicker } from '@ionic-native/image-picker';
import {MyExpensesPage} from "../pages/home/my-expenses/my-expenses";
import {FeeApplyDom} from "../pages/apply/feeApplyDom/feeApplyDom";
import {ToDoApprovalPage} from "../pages/home/to-do-approval/to-do-approval";
//import {PanDianMobilePag eModule} from "../pages/propertyManage/pan-dian-mobile/pan-dian-mobile.module";
import {PanDianDetailsPageModule} from "../pages/propertyManage/pan-dian-details/pan-dian-details.module";
//import {ToolsTabPageModule} from "../pages/tools-tab/tools-tab.module";
//import { QRScanner } from '@ionic-native/qr-scanner/ngx';
import {BarcodeScanner} from '@ionic-native/barcode-scanner';
import {ZxInformationPage} from "../pages/examineApprove/zxInformation/zxInformation";
import {ZjInformationPage} from "../pages/examineApprove/zjInformation/zjInformation";
import {ZjApprovePage} from "../pages/examineApprove/zjInformation/zjApprove/zjApprove";
import {ExamineApprovePage} from "../pages/examine/examineApprove";
import {InformationPage} from "../pages/examine/information/information";
import { IonicImageViewerModule } from 'ionic-img-viewer';
import {CgInformationPage} from "../pages/examineApprove/cgInformation/cgInformation";
import {HtbgInformationPage} from "../pages/examineApprove/htbgInformation/htbgInformation";
import {HtqdInformationPage} from "../pages/examineApprove/htqdInformation/htqdInformation";
import {ZChanCardInfoPage} from "../pages/zChanCardInfo/zChanCardInfo";
import {BillVerifyPage} from "../pages/billVerify/billVerify";
import {ShowpdfPageModule} from "../pages/showpdf/showpdf.module";
import {LoginPrivacyPage} from "../pages/login/login-privacy/login-privacy";
import { Badge } from '@ionic-native/badge';

import * as ionicGalleryModal from 'ionic-gallery-modal';

import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import {PanDianMobilePage} from "../pages/propertyManage/pan-dian-mobile/pan-dian-mobile";
import {ToolsTabPage} from "../pages/tools-tab/tools-tab";

@NgModule({
    declarations: [
        MyApp,
        //ExamineApprovePage,
        ApplyListAPage,
        HomePage,
        TabsPage,
        MyPage,
        ResetPasswordPage,
        SingleList,
        BudgetUnitPage,
        AboutUsPage,
        ZjInformationPage,
        ApprovePage,
        FlowPage,
        ApplyTabPage,
        BudgetYearPage,
        ApplyInfoTabPage,
        AssistTabPage,
        CloseAccountTabPage,
        AddCountWayPage,
        WaitApprovePage,
        NotifyPage,
        PlanPage,
        ExpendPage,
        NotifyItemPage,
        WaitCheckPage,
        FeeDetailPage,
        LoginPage,
        LoginSettingPage,
        LoginPrivacyPage,
        MyExpensesPage,
        FeeApplyDom,
        ToDoApprovalPage,
        ZxInformationPage,
        ZjApprovePage,
        ExamineApprovePage,
        InformationPage,
        CgInformationPage,
        HtbgInformationPage,
        HtqdInformationPage,
        ZChanCardInfoPage,
        BillVerifyPage,
        PanDianMobilePage,
        ToolsTabPage
    ],
    imports: [
        BrowserModule,
        HttpClientModule,
        //PanDianMobilePageModule,
        PanDianDetailsPageModule,
        GuideItemPageModule,
        GuidePageModule,
        IndexQueryPageModule,
        //ToolsTabPageModule,
        IonicImageViewerModule,
        ShowpdfPageModule,
        ionicGalleryModal.GalleryModalModule,
        IonicModule.forRoot(MyApp, {mode: 'ios', backButtonText: ''})
        //IonicStorageModule.forRoot(),
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        MyApp,
        ApplyListAPage,
        HomePage,
        TabsPage,
        MyPage,
        ResetPasswordPage,
        SingleList,
        BudgetUnitPage,
        AboutUsPage,
        ZjInformationPage,
        ApprovePage,
        FlowPage,
        ApplyTabPage,
        BudgetYearPage,
        ApplyInfoTabPage,
        AssistTabPage,
        CloseAccountTabPage,
        AddCountWayPage,
        WaitApprovePage,
        NotifyPage,
        PlanPage,
        ExpendPage,
        NotifyItemPage,
        WaitCheckPage,
        FeeDetailPage,
        LoginPage,
        LoginSettingPage,
        LoginPrivacyPage,
        MyExpensesPage,
        FeeApplyDom,
        ToDoApprovalPage,
        ZxInformationPage,
        ZjApprovePage,
        ExamineApprovePage,
        InformationPage,
        CgInformationPage,
        HtbgInformationPage,
        HtqdInformationPage,
        ZChanCardInfoPage,
        BillVerifyPage,
        PanDianMobilePage,
        ToolsTabPage
    ],
    providers: [
        SystemService,
        StatusBar,
        SplashScreen,
        HttpClient,
        AppVersion,
        File,
        FileTransferObject,
        Camera,
        ImagePicker,
        Device,
        FileTransfer,
        FileOpener,
        BarcodeScanner,
        // Badge,
        IonicImageViewerModule,
        {

            provide: HAMMER_GESTURE_CONFIG,

            useClass: ionicGalleryModal.GalleryModalHammerConfig,

        },

        {provide: ErrorHandler, useClass: IonicErrorHandler}
    ]
})
export class AppModule {
}
